Detecting Data Races in Sequential Programs with DIOTA

نویسندگان

  • Michiel Ronsse
  • Jonas Maebe
  • Koen De Bosschere
چکیده

In this paper we show that data races, a type of bug that generally only causes havoc in parallel programs, can also occur in sequential programs that use signal handlers. Fortunately, it turns out that adapting existing data race detectors to detect such bugs for sequential programs is straightforward. We present such a tool, and we describe the modifications that were necessary to detect data races in sequential programs. The experimental evaluation revealed a number of data races in some widely used programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Software instrumentation using dynamic techniques

In this paper, we describe DIOTA, a dynamic instrumentation technique. The technique correctly deals with programs that contain traditionally hard to instrument features such as data in code and code in data. The technique does not require reverse engineering, program understanding tools or heuristics about the compiler or linker used. The basic idea is that instrumented code is generated on th...

متن کامل

DIOTA: Dynamic Instrumentation, Optimization and Transformation of Applications

In this paper, we describe DIOTA, a novel method for instrumenting binaries. The technique correctly deals with programs that contain traditionally hard to instrument features such as data in code and code in data. The technique does not require reverse engineering, program understanding tools or heuristics about the compiler or linker used. The basic idea is that instrumented code is generated...

متن کامل

Visualizing Data Races in Concurrent Signal Handlers

Asynchronous signal handling introduces fine-grained concurrency into sequential programs making them prone to data races. Unfortunately, existing tools for detecting data races in sequential programs that use concurrent signal handlers fail to provide effective means for understanding the dynamic behavior of concurrent signal handlers involved in data races. Thus, this paper presents a visuali...

متن کامل

Detecting Data Races by Analyzing Sequential Traces

One of the fundamental problems encountered when debugging a parallel pro gram is determining the potential race conditions in the program A race condition exists when multiple tasks access shared data in an unconstrained order and at least one of the accesses is a write operation The program s behavior can be unpre dictable when race conditions are present This paper describes techniques which...

متن کامل

Detecting the First Races in Parallel Programs with Ordered Synchronization

Detecting races is important for debugging shared-memory parallel programs, because the races result in unintended nondeterministic executions of the programs. Previous on-they techniques to detect races in programs with inter-thread coordination such as ordered synchronization cannot guarantee that the race detected rst is not preceded by events that also participate in a race. This paper pres...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004